package pers.qianyu.module.system.service;

import com.baomidou.mybatisplus.extension.service.*;
import pers.qianyu.module.core.comm.*;
import pers.qianyu.module.core.domain.system.dto.*;
import pers.qianyu.module.core.domain.system.entity.*;
import pers.qianyu.module.core.domain.system.query.*;
import pers.qianyu.module.core.domain.system.vo.*;


/**
 * @author mizzle rain
 * @date 2020-11-13 12:26
 */
public interface SysRoleService extends IService<SysRolePO> {
    /**
     * 根据 id 查询
     *
     * @param id 角色 id
     * @return 角色 vo 对象
     */
    SysRoleVO queryById(Long id);

    /**
     * 新增角色
     *
     * @param sysRoleDTO 角色 dto 对象
     */
    void insRole(SysRoleDTO sysRoleDTO);

    /**
     * 删除角色
     *
     * @param id 角色 id
     */
    void delById(Long id);

    /**
     * 更新角色
     *
     * @param id      角色 id
     * @param sysRoleDTO 要更新的角色信息
     */
    void updRole(Long id, SysRoleDTO sysRoleDTO);

    /**
     * 条件查询
     *
     * @param sysRoleQuery 查询条件
     * @return 查询结果
     */
    Pagination<SysRoleVO> queryRole(SysRoleQuery sysRoleQuery);
}
